﻿using System.Data;
using System.Collections.Generic;
using ibba.src.DataAccess;
using ibba.src.global;
using ibba.src.norisk.BusinessEntities;

/*****************************************************************************************************************          
 Copyright © 2010 - Banco Itaú BBA S.A

 ConfiguracaoDb: Implementa funcionalidades para recuperar as configurações do sistema.

 Histórico de Alterações:
 24/10/2012 - Murilo Figueiredo - Criação OS277681

 *****************************************************************************************************************/

namespace ibba.src.norisk.DataAccess
{
    /// <summary>
    /// Implementa funcionalidades para recuperar as configurações do sistema.
    /// </summary>
    public class ConfiguracaoDb : DataAccessBase
    {
        /// <summary>
        /// Recupera uma configuração de acordo com o tipo <paramref name="DscTipo"/> e a chave <paramref name="CodChave"/> passados.
        /// </summary>
        /// <param name="DscTipo">Tipo da configuração</param>
        /// <param name="CodChave">Chave da configuração</param>
        /// <returns></returns>
        public BusinessEntities.Configuracao ObterConfiguracao(string DscTipo, string CodChave)
        {
            BusinessEntities.Configuracao retorno = new BusinessEntities.Configuracao();

            List<IDataParameter> parametros = new List<IDataParameter>();
            parametros.Add(AcessoDadosHelper.CriarParametro("@DS_TIPO", DbType.String, DscTipo));
            parametros.Add(AcessoDadosHelper.CriarParametro("@CD_CHAVE", DbType.String, CodChave));

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure, "DBO.SRCP_CONFIGURACAO_RISCO", parametros))
                {
                    if (rdr.Read())
                    {
                        retorno.VlrChave = (string)base.ObterValor(rdr, "VL_CHAVE");
                    }
                }
            }

            return retorno;
        }
    }
}
